use napi_derive_ohos::napi;

/// 设备资源结构体，包含内存使用率和电池电量百分比
#[napi(object)]
pub struct DeviceResource {
    /// 内存使用率，单位百分比，使用f64以支持JS类型转换
    pub memory_usage: f64,
    /// 电池电量，单位百分比，使用f64以支持JS类型转换
    pub battery_level: f64,
}

/// 检查设备资源状态，内存使用超过80%或电池低于20%时，返回对应警告信息
#[napi]
pub fn check_device_resources(resources: DeviceResource) -> Vec<String> {
    let mut warnings = Vec::new();

    if resources.memory_usage > 80.0 {
        warnings.push("Warning: High memory usage detected!".to_string());
    }
    if resources.battery_level < 20.0 {
        warnings.push("Warning: Low battery level detected!".to_string());
    }

    warnings
}

